<?php

namespace pmvc\ioc;

class ObjectDescriptor {
	public function __construct(
		$id, $name, $class, $properties=Array(), $constructorArgs=Array(),
		$singleton=TRUE, $abstract=FALSE, $parent=NULL, $lazy=FALSE, $initMethod=NULL,
		$destroyMethod=NULL, $factoryClass=NULL, $preloadFile=NULL) {
		$this->id				= $id;
		$this->name				= $name;
		$this->class			= $class;
		$this->properties		= $properties;
		$this->constructorArgs	= $constructorArgs;
		$this->singleton		= $singleton;
		$this->abstract			= $abstract;
		$this->parent			= $parent;
		$this->lazy				= $lazy;
		$this->initMethod		= $initMethod;
		$this->destroyMethod	= $destroyMethod;
		$this->factoryClass		= $factoryClass;
		$this->preloadFile		= $preloadFile;
	}
	public $id				= NULL;
	public $name			= NULL;
	public $class 			= NULL;
	public $singleton		= TRUE;
	public $abstract		= FALSE;
	public $parent			= NULL;
	public $constructorArgs	= Array();
	public $properties		= Array();
	public $lazy			= FALSE;
	public $initMethod		= NULL;
	public $destroyMethod	= NULL;
	public $objects			= Array();
	public $factoryClass	= NULL;
	public $preloadFile		= NULL;
}

?>